package com.lagou.sqlsession;

import java.util.List;

public interface SqlSession {
    /**
     * 批量查询
     * @param statementId
     * @param param
     * @param <E>
     * @return
     */
    <E> List<E> selectList(String statementId,Object... param) throws Exception;

    /**
     * 查询单个
     * @param statementId
     * @param param
     * @param <E>
     * @return
     */
    <E> E selectOne(String statementId,Object... param) throws Exception;

    /**
     * 获取mapper
     * @param tClass
     * @param <T>
     * @return
     */
    <T> T getMapper(Class<T> tClass);

    /**
     * 插入数据
     * @param <T>
     * @param statementId
     * @param args
     * @return
     */
    int insert(String statementId, Object... args) throws Exception;
    /**
     * 更新数据
     * @param statementId
     * @param args
     * @return
     */
    int update(String statementId, Object... args) throws Exception;
    /**
     * 删除
     * @param statementId
     * @param orgs
     * @return
     */
    int delete(String statementId, Object... orgs) throws Exception;

}
